package ua.kharkov.khpi.tarasenko.bach.dao.core;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

import org.hibernate.Query;

public interface GenericDAO<T, ID extends Serializable> {

	public void save(T entity);

	public void merge(T entity);

	public void delete(T entity);

	public List<T> findMany(Query query);

	public T findOne(Query query);

	@SuppressWarnings("rawtypes")
	public List findAll(Class clazz);

	@SuppressWarnings("rawtypes")
	public T findByID(Class clazz, ID id);
}
